using SqlSugar;
using IM.Easy.Core.Audit;

namespace IM.Easy.Entity.System
{
    /// <summary>
    /// 通知公告表
    /// </summary>
    [SugarTable("SysNotification")]
    public class SysNotification
    {
        /// <summary>
        /// 通知公告唯一标识符
        /// </summary>
        [SugarColumn(ColumnName = "Id")]
        public long Id { get; set; }

        /// <summary>
        /// 通知标题
        /// </summary>
        [SugarColumn(ColumnName = "Title")]
        public string Title { get; set; }

        /// <summary>
        /// 通知内容
        /// </summary>
        [SugarColumn(ColumnName = "Content")]
        public string Content { get; set; }

        /// <summary>
        /// 优先级（0=普通，1=重要，2=紧急）
        /// </summary>
        [SugarColumn(ColumnName = "Priority")]
        public int Priority { get; set; }

        /// <summary>
        /// 状态（0=草稿，1=已发布，2=撤回）
        /// </summary>
        [SugarColumn(ColumnName = "Status")]
        public int Status { get; set; }

        /// <summary>
        /// 生效时间
        /// </summary>
        [SugarColumn(ColumnName = "EffectiveTime")]
        public DateTime EffectiveTime { get; set; }

        /// <summary>
        /// 失效时间
        /// </summary>
        [SugarColumn(ColumnName = "ExpiryTime")]
        public DateTime ExpiryTime { get; set; }

        /// <summary>
        /// 目标受众（用户ID或角色）
        /// </summary>
        [SugarColumn(ColumnName = "Audience")]
        public string Audience { get; set; }

    }
}
